#ifndef KUN_URP_WATER_INPUT_INCLUDED
#define KUN_URP_WATER_INPUT_INCLUDED

#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

CBUFFER_START(UnityPerMaterial)

    float4 _WaterColor;
    float _WaveSpeed;
    float _DepthFactor;
    float _DepthBlendScale;
    float _DepthBlendPower;

    float4 _CausticsColor;
    float4 _CausticsMap_ST;

    float4 _SpecularColor;
    float _Roughness;

    float _NormalScale;
    float4 _NormalMap_ST;
    float _NormalScale2;
    float4 _NormalMap2_ST;

    float _DistortionScale;
    float _DistortionSpeed;
    float2 _DistortionDirection;

    float4 _ReflectionColor;
    float _ReflectionNormalBlend;
    float _FresnelPower;

    float4 _FoamColor;
    float _FoamRange;
    float _FoamNoisePower;
    float4 _FoamNoiseMap_ST;

    float _TessellationEdgeLength;

CBUFFER_END


TEXTURE2D(_WaterRampMap);           SAMPLER(sampler_WaterRampMap);
TEXTURE2D(_CausticsMap);            SAMPLER(sampler_CausticsMap);
TEXTURE2D(_NormalMap);              SAMPLER(sampler_NormalMap);
TEXTURE2D(_NormalMap2);              SAMPLER(sampler_NormalMap2);
TEXTURE2D(_FoamNoiseMap);           SAMPLER(sampler_FoamNoiseMap);
TEXTURECUBE(_CubemapTexture);       SAMPLER(sampler_CubemapTexture);

TEXTURE2D(_CameraDepthTexture);     SAMPLER(sampler_CameraDepthTexture);
TEXTURE2D(_CameraOpaqueTexture);    SAMPLER(sampler_CameraOpaqueTexture);



#endif